package com.yanqu.road.entity.activity.tanghulu;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FieldTypeAnnotation(tableName = "t_u_activity_tanghulu_round")
public class TangHuLuMakeData extends DataObject {

    @FieldTypeAnnotation(select = true, update = true, desc = "活动id")
    int activityId;

    @FieldTypeAnnotation(select = true, update = true, desc = "玩家id")
    long userId;

    @FieldTypeAnnotation(update = true, desc = "第几局")
    int roundNo;

    @FieldTypeAnnotation(desc = "制作类型，0：普通；1：快速(高级)")
    int type;

    @FieldTypeAnnotation(desc = "单局分数")
    long score;

    @FieldTypeAnnotation(desc = "积分是否已转化-甜蜜值")
    boolean turnScore;

    //缓存
    //开始转动的时间(每次进界面刷新)
    long inTime;

    //闪光段
    List<Integer> flashPoint = new ArrayList<>();

    //水果数据：段-水果道具
    Map<Integer, List<Integer>> data = new HashMap<>();

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if(this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public int getRoundNo() {
        return roundNo;
    }

    public void setRoundNo(int roundNo) {
        if(this.roundNo != roundNo) {
            this.roundNo = roundNo;
            setUpdateOption();
        }
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        if(this.type != type) {
            this.type = type;
            setUpdateOption();
        }
    }

    public long getScore() {
        return score;
    }

    public void setScore(long score) {
        if(this.score != score) {
            this.score = score;
            setUpdateOption();
        }
    }

    public boolean isTurnScore() {
        return turnScore;
    }

    public void setTurnScore(boolean turnScore) {
        if(this.turnScore != turnScore) {
            this.turnScore = turnScore;
            setUpdateOption();
        }
    }

    public long getInTime() {
        return inTime;
    }

    public void setInTime(long inTime) {
        this.inTime = inTime;
    }

    public List<Integer> getFlashPoint() {
        return flashPoint;
    }

    public void setFlashPoint(List<Integer> flashPoint) {
        this.flashPoint = flashPoint;
    }

    public Map<Integer, List<Integer>> getData() {
        return data;
    }

    public void setData(Map<Integer, List<Integer>> data) {
        this.data = data;
    }
}
